﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using WebUtils;

namespace OAuth
{
    public interface IUnsignedWebRequest : IWebRequest
    {
        string Realm { get; }
        SignatureMethod SignatureMethod { get; }
        AuthInfoLocation AuthInfoLocation { get; }
        string Timestamp { get; }
        string Nonce { get; }
        string Version { get; }

        ISignedWebRequest CreateSignedWebRequest(IEnumerable<UnEncodedURLParameter> pExtraAuthParameters);
        ISignedWebRequest CreateSignedWebRequest();
    }

    public interface ISignedWebRequest : IWebRequest
    {
        IUnsignedWebRequest UnsignedWebRequest { get; }
    }
}
